Praca domowa 2

Dane - Credit Cards Customers.

Problem - zbadaj którzy klienci są chętni do zrezygnowania z usługi.

Do zadania został użyty model Xgboost.

1. Dla wybranej obserwacji ze zbioru danych wylicz predykcję modelu.

Dla wybranej obserwacji model Xgboost ma wsoką predykcję ok. 98%.

2. Dla wybranej obserwacji z punktu 1., wylicz dekompozycję predykcji modelu używając LIME

0 - Attrited Customer

1 - Existing Customer

3. Porównaj dekompozycję LIME dla różnych obserwacji w zbiorze. Jak stabilne są otrzymane wyjaśnienia?

Pomimo użycia np.random.seed(23) na początku notebooka, przy ponownym wywołaniu okna dostajemy różne wyniki. Prawdopodobieństwo predykcji jest takie samo, inny jest wpływ cech na predykcję lub wartość wpływu na predykcję. Na przykład dla tej samej obserwacji Card_Platinum równe 0 raz jest niebieskie a raz pomarańczowe. Można też zauważyć, że dla dwóch róznych obserwacji (29, 30) Card_Platinum o tej samej wartości może mieć odwrotny pływ a predykcję.

Dla obu obserwacji największy udział w predykcji mają Total_Revolving_Bal oraz Total_Trans_Amt. Pierwsza zmienna działa tak samo w obu przypadkach, jednak dla zmiennej Total_Trans_Amt z wykresu mozemy odczytać inne kryteria. Dla obserwacji 3. Total_Trans_Amt > ok. 4700 wpływa na wybór 1 - Existing Customer, a dla obserwacji 1. Total_Trans_Amt > 3906 wpływa wybór 0 - Attrited Customer.

4. Skomentuj poszczególne wyniki uzyskane w powyższych punktach.

Ustalenie konkretnego seeda nie pozwala mi na zachowanie jednakowych wyników przy kolejnych wywyołaniach. Cieżko zrozumieć mi wpływ zmiennych na predykcję. Wykres wygląda podobnie do dekompozycji Shapley values lecz w nim pokazana była także bazowa predykcja. Zamiast tego LIME pokazuje nam wniosek z wykresu Shapley values, czyli prawdopodobieństwo predykcji. Zadziwiające są dla mnie obserwację 1. i 3. które dla Total_Trans_Amt równego 4006 i 4768 mają zupełnie inny wpływ na predykcję.